Crate crdts[][src]

A pure-Rust library of thoroughly-tested, serializable CRDT’s.

Conflict-free Replicated Data Types (CRDTs) are data structures which can be replicated across multiple networked nodes, and whose properties allow for deterministic, local resolution of possible inconsistencies which might result from concurrent operations.

Re-exports

pub use crate::dot::Dot;
pub use crate::dot::DotRange;
pub use crate::dot::OrdDot;
pub use crate::gcounter::GCounter;
pub use crate::gset::GSet;
pub use crate::identifier::Identifier;
pub use crate::list::List;
pub use crate::lwwreg::LWWReg;
pub use crate::map::Map;
pub use crate::mvreg::MVReg;
pub use crate::orswot::Orswot;
pub use crate::pncounter::PNCounter;
pub use crate::vclock::VClock;
pub use quickcheck;

Modules

ctx

This module contains context for editing a CRDT.

dot

This module contains the Dot (Actor + Sequence Number)

gcounter

This module contains a Grow-only Counter.

glist

This module contains a Grow-only List.

gset

This module contains a Grow-only Set.

identifier

This module contains a dense Identifier. Dense Identifiers.

list

This module contains a Sequence.

lwwreg

This module contains a Last-Write-Wins Register.

map

This module contains a Map with Reset-Remove and Observed-Remove semantics.

merkle_reg

This module contains a Merkle-Dag Register.

mvreg

This module contains a Multi-Value Register.

orswot

This module contains an Observed-Remove Set With Out Tombstones.

pncounter

This module contains a Positive-Negative Counter.

vclock

This module contains the Vector Clock This module contains a generic Vector Clock implementation.

vvwe

Version Vector with Exceptions

Traits

Actor

Common Actor type. Actors are unique identifier for every thing mutating a VClock. VClock based CRDT’s will need to expose this Actor type to the user.

CmRDT

Operation based CRDT’s replicate by transmitting each operation.

CvRDT

State based CRDT’s replicate by transmitting the entire CRDT state.

ResetRemove

CRDT’s are causal if they are built on top of vector clocks.